package fan.string.Day06.exception;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JDK7之后java推出了一个新的特性：自动关闭特性
 * 使得我们在异常处理机制中对于关闭流这样的操作进行了简化
 *
 * 该特性是编译器认可的，最终代码会被编译器改为FinallyDemo02的样子
 */
public class AutoCloseableDemo {
    public static void main(String[] args) {
        try (
                //在try（）中定义的类最终会被编译器改为在finally中调用close()
                FileOutputStream fos = new FileOutputStream("fos.txt");

                //编译不通过，只有实现了AutoCloseable接口的类才能在这里定义
                //String str = "abc";
        ){
            fos.write(12);
        }catch (IOException e){
            e.printStackTrace();
        }

    }
}
